[INFO] fetching crate lapce-xi-rope 0.3.2...
[INFO] checking lapce-xi-rope-0.3.2 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate lapce-xi-rope 0.3.2 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate lapce-xi-rope 0.3.2 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lapce-xi-rope 0.3.2
[INFO] finished tweaking crates.io crate lapce-xi-rope 0.3.2
[INFO] tweaked toml for crates.io crate lapce-xi-rope 0.3.2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate crates.io crate lapce-xi-rope 0.3.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_test v1.0.163
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c050118465dbb54aee6c1e0ce48e339e2c22b1dbd9a5489e0747d17cb2c35f85
[INFO] running `Command { std: "docker" "start" "-a" "c050118465dbb54aee6c1e0ce48e339e2c22b1dbd9a5489e0747d17cb2c35f85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c050118465dbb54aee6c1e0ce48e339e2c22b1dbd9a5489e0747d17cb2c35f85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c050118465dbb54aee6c1e0ce48e339e2c22b1dbd9a5489e0747d17cb2c35f85", kill_on_drop: false }`
[INFO] [stdout] c050118465dbb54aee6c1e0ce48e339e2c22b1dbd9a5489e0747d17cb2c35f85
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d45d10eb17626e86e62db87c4751771e32ccf73661d6e6ad082204e714ba1912
[INFO] running `Command { std: "docker" "start" "-a" "d45d10eb17626e86e62db87c4751771e32ccf73661d6e6ad082204e714ba1912", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.163
[INFO] [stderr]     Checking regex-syntax v0.7.1
[INFO] [stderr]    Compiling serde_test v1.0.163
[INFO] [stderr]     Checking itoa v1.0.6
[INFO] [stderr]     Checking unicode-segmentation v1.10.1
[INFO] [stderr]     Checking bytecount v0.6.3
[INFO] [stderr]     Checking ryu v1.0.13
[INFO] [stderr]     Checking aho-corasick v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]     Checking regex v1.8.1
[INFO] [stderr]     Checking lapce-xi-rope v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 |             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout]     |                                   ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 120 -             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout] 120 +             CountMatcher::Zero => seg.count == 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:121:38
[INFO] [stdout]     |
[INFO] [stdout] 121 |             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout]     |                                      ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout] 121 +             CountMatcher::NonZero => seg.count != 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/tree.rs:290:45
[INFO] [stdout]     |
[INFO] [stdout] 290 |             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout]     |                                             ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout] 290 +             NodeVal::Internal(ref nodes) => nodes.len() >= MIN_CHILDREN,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct LinesMetric(usize); // number of lines
[INFO] [stdout]     |            ----------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LinesMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct LinesMetric(()); // number of lines
[INFO] [stdout]     |                        ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:275:33
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct Utf16CodeUnitsMetric(usize);
[INFO] [stdout]     |            -------------------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Utf16CodeUnitsMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct Utf16CodeUnitsMetric(());
[INFO] [stdout]     |                                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `xi_rope`
[INFO] [stdout]   --> examples/ropetoy.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | extern crate xi_rope;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `xi_rope`
[INFO] [stdout]   --> benches/diff.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | extern crate xi_rope;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read benches/../../core-lib/src/editor.rs: No such file or directory (os error 2)
[INFO] [stdout]   --> benches/diff.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EDITOR_STR: &str = include_str!("../../core-lib/src/editor.rs");
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read benches/../../core-lib/src/view.rs: No such file or directory (os error 2)
[INFO] [stdout]   --> benches/diff.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | static VIEW_STR: &str = include_str!("../../core-lib/src/view.rs");
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `xi_rope`
[INFO] [stdout]   --> benches/cursors.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | extern crate xi_rope;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `xi_rope`
[INFO] [stdout]   --> benches/edit.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | extern crate xi_rope;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lapce-xi-rope` (example "ropetoy") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cursor`
[INFO] [stdout]   --> benches/cursors.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut cursor = Cursor::new(&text, 0);
[INFO] [stdout]    |                      ^^^^^^ use of undeclared type `Cursor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 19 + use lapce_xi_rope::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 19 + use std::collections::btree_map::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 19 + use std::collections::linked_list::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 19 + use std::io::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lapce-xi-rope` (bench "diff") due to 4 previous errors
[INFO] [stderr] error: could not compile `lapce-xi-rope` (bench "edit") due to 2 previous errors
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lapce-xi-rope` (bench "cursors") due to 3 previous errors
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 |             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout]     |                                   ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 120 -             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout] 120 +             CountMatcher::Zero => seg.count == 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:121:38
[INFO] [stdout]     |
[INFO] [stdout] 121 |             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout]     |                                      ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout] 121 +             CountMatcher::NonZero => seg.count != 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/tree.rs:290:45
[INFO] [stdout]     |
[INFO] [stdout] 290 |             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout]     |                                             ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout] 290 +             NodeVal::Internal(ref nodes) => nodes.len() >= MIN_CHILDREN,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct LinesMetric(usize); // number of lines
[INFO] [stdout]     |            ----------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LinesMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct LinesMetric(()); // number of lines
[INFO] [stdout]     |                        ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:275:33
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct Utf16CodeUnitsMetric(usize);
[INFO] [stdout]     |            -------------------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Utf16CodeUnitsMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct Utf16CodeUnitsMetric(());
[INFO] [stdout]     |                                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d45d10eb17626e86e62db87c4751771e32ccf73661d6e6ad082204e714ba1912", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d45d10eb17626e86e62db87c4751771e32ccf73661d6e6ad082204e714ba1912", kill_on_drop: false }`
[INFO] [stdout] d45d10eb17626e86e62db87c4751771e32ccf73661d6e6ad082204e714ba1912
[INFO] checking lapce-xi-rope-0.3.2 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate lapce-xi-rope 0.3.2 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate lapce-xi-rope 0.3.2 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lapce-xi-rope 0.3.2
[INFO] finished tweaking crates.io crate lapce-xi-rope 0.3.2
[INFO] tweaked toml for crates.io crate lapce-xi-rope 0.3.2 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate crates.io crate lapce-xi-rope 0.3.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ad17de54d10c2a2cd911ddff3dc1e9e9caa6d0dd6191c66adcc3537145fe9142
[INFO] running `Command { std: "docker" "start" "-a" "ad17de54d10c2a2cd911ddff3dc1e9e9caa6d0dd6191c66adcc3537145fe9142", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ad17de54d10c2a2cd911ddff3dc1e9e9caa6d0dd6191c66adcc3537145fe9142", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad17de54d10c2a2cd911ddff3dc1e9e9caa6d0dd6191c66adcc3537145fe9142", kill_on_drop: false }`
[INFO] [stdout] ad17de54d10c2a2cd911ddff3dc1e9e9caa6d0dd6191c66adcc3537145fe9142
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 578e9eb40933646bc64d66e7c06d988037428be52d1a11b7dfdec3c7cadc8f2a
[INFO] running `Command { std: "docker" "start" "-a" "578e9eb40933646bc64d66e7c06d988037428be52d1a11b7dfdec3c7cadc8f2a", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.163
[INFO] [stderr]    Compiling serde_test v1.0.163
[INFO] [stderr]     Checking regex-syntax v0.7.1
[INFO] [stderr]     Checking itoa v1.0.6
[INFO] [stderr]     Checking bytecount v0.6.3
[INFO] [stderr]     Checking ryu v1.0.13
[INFO] [stderr]     Checking unicode-segmentation v1.10.1
[INFO] [stderr]     Checking aho-corasick v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]     Checking regex v1.8.1
[INFO] [stderr]     Checking lapce-xi-rope v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/breaks.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |         for i in 0..l.data.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/compare.rs:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |             &one.get_unchecked(idx..idx + stride_len),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/compare.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 111 |             &two.get_unchecked(idx..idx + stride_len),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/compare.rs:132:32
[INFO] [stdout]     |
[INFO] [stdout] 132 |             &one.get_unchecked(idx..idx + stride_len),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/compare.rs:133:32
[INFO] [stdout]     |
[INFO] [stdout] 133 |             &two.get_unchecked(idx..idx + stride_len),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/compare.rs:148:20
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let one = &one[one.len() - min_len..];
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/compare.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let two = &two[two.len() - min_len..];
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/compare.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |             one_buf[SSE_STRIDE - idx..].copy_from_slice(&one[..idx]);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/compare.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |             two_buf[SSE_STRIDE - idx..].copy_from_slice(&two[..idx]);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/compare.rs:160:35
[INFO] [stdout]     |
[INFO] [stdout] 160 |             sse_compare_mask(&one[idx - SSE_STRIDE..idx], &two[idx - SSE_STRIDE..idx])
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/compare.rs:160:64
[INFO] [stdout]     |
[INFO] [stdout] 160 |             sse_compare_mask(&one[idx - SSE_STRIDE..idx], &two[idx - SSE_STRIDE..idx])
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/compare.rs:308:38
[INFO] [stdout]     |
[INFO] [stdout] 308 |         self.base_chunk = &base_leaf[base_leaf_off..];
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/compare.rs:309:42
[INFO] [stdout]     |
[INFO] [stdout] 309 |         self.target_chunk = &target_leaf[target_leaf_off..];
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/compare.rs:320:48
[INFO] [stdout]     |
[INFO] [stdout] 320 |             self.base_chunk = &self.base_chunk[scan_len..];
[INFO] [stdout]     |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/compare.rs:321:52
[INFO] [stdout]     |
[INFO] [stdout] 321 |             self.target_chunk = &self.target_chunk[scan_len..];
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/diff.rs:89:38
[INFO] [stdout]    |
[INFO] [stdout] 89 |         for line in target.lines_raw(start_offset..target_end) {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/diff.rs:92:63
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 if let Some(base_off) = line_hashes.get(&line[non_ws..]) {
[INFO] [stdout]    |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/diff.rs:178:14
[INFO] [stdout]     |
[INFO] [stdout] 178 |     for i in 1..items.len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/diff.rs:275:51
[INFO] [stdout]     |
[INFO] [stdout] 275 |                 Cow::Owned(ref s) => Cow::Owned(s[non_ws..].to_string()),
[INFO] [stdout]     |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/diff.rs:276:54
[INFO] [stdout]     |
[INFO] [stdout] 276 |                 Cow::Borrowed(s) => Cow::Borrowed(&s[non_ws..]),
[INFO] [stdout]     |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/engine.rs:259:30
[INFO] [stdout]     |
[INFO] [stdout] 259 |         for rev in self.revs[rev_index..].iter().rev() {
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/engine.rs:296:31
[INFO] [stdout]     |
[INFO] [stdout] 296 |         for rev in &self.revs[rev_index + 1..] {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/engine.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout] 374 |         for r in &self.revs[ix + 1..] {
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/engine.rs:507:31
[INFO] [stdout]     |
[INFO] [stdout] 507 |         for rev in &self.revs[first_candidate..] {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/engine.rs:662:41
[INFO] [stdout]     |
[INFO] [stdout] 662 |             let a_to_merge = &self.revs[base_index..];
[INFO] [stdout]     |                                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/engine.rs:663:42
[INFO] [stdout]     |
[INFO] [stdout] 663 |             let b_to_merge = &other.revs[base_index..];
[INFO] [stdout]     |                                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/find.rs:159:14
[INFO] [stdout]     |
[INFO] [stdout] 159 |     for _ in 0..num_steps {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/find.rs:187:42
[INFO] [stdout]     |
[INFO] [stdout] 187 |         if let Some(off) = scanner(&leaf[pos_in_leaf..]) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/find.rs:219:28
[INFO] [stdout]     |
[INFO] [stdout] 219 |         if leaf.as_bytes()[pos_in_leaf..pos_in_leaf + n] != pat.as_bytes()[..n] {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/find.rs:224:20
[INFO] [stdout]     |
[INFO] [stdout] 224 |         pat = &pat[n..];
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 |             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout]     |                                   ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 120 -             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout] 120 +             CountMatcher::Zero => seg.count == 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:121:38
[INFO] [stdout]     |
[INFO] [stdout] 121 |             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout]     |                                      ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout] 121 +             CountMatcher::NonZero => seg.count != 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/multiset.rs:139:32
[INFO] [stdout]     |
[INFO] [stdout] 139 |             result.push_str(&s[b..e]);
[INFO] [stdout]     |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/multiset.rs:360:26
[INFO] [stdout]     |
[INFO] [stdout] 360 |                 for _ in 0..s.len {
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rope.rs:106:30
[INFO] [stdout]     |
[INFO] [stdout] 106 |         self.push_str(&other[start..end]);
[INFO] [stdout]     |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rope.rs:111:34
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let right_str = self[splitpoint..].to_owned();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rope.rs:247:18
[INFO] [stdout]     |
[INFO] [stdout] 247 |         for _ in 0..in_measured_units {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rope.rs:248:47
[INFO] [stdout]     |
[INFO] [stdout] 248 |             match memchr(b'\n', &s.as_bytes()[offset..]) {
[INFO] [stdout]     |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rope.rs:266:37
[INFO] [stdout]     |
[INFO] [stdout] 266 |         memchr(b'\n', &s.as_bytes()[offset..]).map(|pos| offset + pos + 1)
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rope.rs:363:40
[INFO] [stdout]     |
[INFO] [stdout] 363 |     match memrchr(b'\n', &s.as_bytes()[minsplit - 1..splitpoint]) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rope.rs:573:20
[INFO] [stdout]     |
[INFO] [stdout] 573 |         Some(&leaf[start_pos..start_pos + len])
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rope.rs:593:20
[INFO] [stdout]     |
[INFO] [stdout] 593 |             s = &s[splitpoint..];
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rope.rs:653:15
[INFO] [stdout]     |
[INFO] [stdout] 653 |             l[offset..].chars().next()
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rope.rs:663:15
[INFO] [stdout]     |
[INFO] [stdout] 663 |             l[offset..].chars().next()
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rope.rs:672:47
[INFO] [stdout]     |
[INFO] [stdout] 672 |         self.get_leaf().and_then(|(l, off)| l[off..].chars().next())
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rope.rs:766:52
[INFO] [stdout]     |
[INFO] [stdout] 766 |                     self.fragment = &self.fragment[i + 1..];
[INFO] [stdout]     |                                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tree.rs:218:29
[INFO] [stdout]     |
[INFO] [stdout] 218 |         for child in &nodes[1..] {
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/tree.rs:290:45
[INFO] [stdout]     |
[INFO] [stdout] 290 |             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout]     |                                             ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout] 290 +             NodeVal::Internal(ref nodes) => nodes.len() >= MIN_CHILDREN,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tree.rs:346:62
[INFO] [stdout]     |
[INFO] [stdout] 346 |                     Node::merge_nodes(&[newrope], &children2[1..])
[INFO] [stdout]     |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/tree.rs:348:74
[INFO] [stdout]     |
[INFO] [stdout] 348 |                     Node::merge_nodes(newrope.get_children(), &children2[1..])
[INFO] [stdout]     |                                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tree.rs:881:18
[INFO] [stdout]     |
[INFO] [stdout] 881 |         for i in 0..CURSOR_CACHE_SIZE {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tree.rs:891:27
[INFO] [stdout]     |
[INFO] [stdout] 891 |                 for k in (0..i).rev() {
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tree.rs:917:18
[INFO] [stdout]     |
[INFO] [stdout] 917 |         for i in 0..CURSOR_CACHE_SIZE {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tree.rs:927:27
[INFO] [stdout]     |
[INFO] [stdout] 927 |                 for k in (0..i).rev() {
[INFO] [stdout]     |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct LinesMetric(usize); // number of lines
[INFO] [stdout]     |            ----------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LinesMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct LinesMetric(()); // number of lines
[INFO] [stdout]     |                        ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:275:33
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct Utf16CodeUnitsMetric(usize);
[INFO] [stdout]     |            -------------------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Utf16CodeUnitsMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct Utf16CodeUnitsMetric(());
[INFO] [stdout]     |                                 ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/interval.rs:157:11
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl From<Range<usize>> for Interval {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/interval.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn from(src: Range<usize>) -> Interval {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/interval.rs:170:11
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl From<RangeInclusive<usize>> for Interval {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/interval.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn from(src: RangeInclusive<usize>) -> Interval {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/interval.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl IntervalBounds for RangeFrom<usize> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors; 56 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lapce-xi-rope` (lib) due to 6 previous errors; 56 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "578e9eb40933646bc64d66e7c06d988037428be52d1a11b7dfdec3c7cadc8f2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "578e9eb40933646bc64d66e7c06d988037428be52d1a11b7dfdec3c7cadc8f2a", kill_on_drop: false }`
[INFO] [stdout] 578e9eb40933646bc64d66e7c06d988037428be52d1a11b7dfdec3c7cadc8f2a
